package com.liuyz.outputstream_;

import org.junit.Test;

import java.io.FileOutputStream;
import java.io.IOException;

public class 文件字节输出流 {

    // 将字节输出到文件
    @Test
    public void write_1() {
        String filePath = "d:\\test.txt";
        FileOutputStream outputStream = null;
        try {
            outputStream = new FileOutputStream(filePath);
            // write方法：如果文件不存在，会自动创建文件（目录不会）
            outputStream.write('c');
        } catch (IOException e) {
            e.printStackTrace();
        } finally {
            if (null != outputStream) {
                try {
                    outputStream.close();
                } catch (IOException e) {
                    e.printStackTrace();
                }
            }
        }
    }

    // 将字符串中的内容输出到文件
    @Test
    public void write_2() {
        String filePath = "d:\\test.txt";
        FileOutputStream outputStream = null;
        String content = "world张三";
        try {
            // outputStream = new FileOutputStream(filePath);
            // public FileOutputStream(String name, boolean append)构造器中，如果append为true，那么新内容是追加到文件中的
            outputStream = new FileOutputStream(filePath, true);
            // write方法：如果文件不存在，会自动创建文件（目录不会）
            // getBytes()：获取当前字符串的字节数组
            outputStream.write(content.getBytes());
        } catch (IOException e) {
            e.printStackTrace();
        } finally {
            if (null != outputStream) {
                try {
                    outputStream.close();
                } catch (IOException e) {
                    e.printStackTrace();
                }
            }
        }
    }

}
